package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.entity.Dish;
import com.itheima.reggie.entity.dto.dish.DishAddDTO;
import com.itheima.reggie.entity.dto.dish.DishUpdateDTO;
import com.itheima.reggie.entity.vo.DishVo;
import com.itheima.reggie.web.R;

import java.util.List;

/**
 * 菜品业务层接口
 *
 * @Name : DishService
 * @Author : WuQiang
 * @Date : 2022-08-014 16:18
 * @Description : 菜品业务层接口
 */
public interface DishService extends IService<Dish> {

    /**
     * 分页查询菜品信息
     * @param page 当前页
     * @param pageSize 页面大小
     * @param name 菜品名称 模糊查询
     * @return
     */
    R getPage(Long page, Long pageSize, String name);

    /**
     * 批量起售、停售
     * @param status
     * @param ids
     */
    Boolean bulkOperations(Integer status, Long[] ids);

    /**
     * 新增菜品
     * @param dto
     * @return
     */
    Boolean saveWithName(DishAddDTO dto);

    /**
     * 通过菜品id查询菜品以及口味信息
     * @param id
     * @return
     */
    DishVo getDishAndDishFlaverById(Long id);

    /**
     * 修改菜品信息更新口味表中菜品对应的口味
     * @param dto
     * @return
     */
    Boolean updateDishAndDishFlavor(DishUpdateDTO dto);

    /**
     * 逻辑删除
     * @param idList
     * @return
     */
    Boolean deleteByIds(List<Long> idList);
}
